/*

 * Copyright 2008 Dirección Provincial de Informática de la Provincia de Buenos Aires.  All Rights Reserved

 * Dirección Provincial de Informática de la Provincia de Buenos Aires Proprietary and Confidential.

 *

 * You agree to use Your best efforts to protect the software and documentation

 * from unauthorized copy or use. The software source code represents and embodies

 * trade secrets of Dirección Provincial de Informática de la Provincia de Buenos Aires and/or its licensors.

 * The source code and embodied trade secrets are not licensed to you and any modification,

 * addition or deletion is strictly prohibited. You agree not to disassemble, decompile,

 * or otherwise reverse engineer the software in order to discover the source code and/or

 * the trade secrets contained in the source code.

 *

 *

 * Derecho de autor 2008 Dirección Provincial de Informática de la Provincia de Buenos Aires.  Todos los derechos reservados.

 * Propiedad de Dirección Provincial de Informática de la Provincia de Buenos Aires y Confidencial.

 *

 * Por la presente acuerdo hacer mi mayor esfuerzo para proteger el software y la documentación

 * de la copia o el uso no autorizados. El código fuente del software representa e incluye

 * secretos comerciales de Dirección Provincial de Informática de la Provincia de Buenos Aires y/o sus licenciantes. 

 * No se le otorga licencia del código fuente ni los secretos comerciales incluidos;

 * y cualquier modificación, agregado o eliminación se encuentra estrictamente prohibida.

 * Asimismo, por la presente me comprometo a no desarmar, descompilar, o de alguna forma utilizar

 * técnicas de ingeniería inversa sobre el software para descubrir su fuente y/o los

 * secretos comerciales contenidos en el código fuente.

 *

 */

package jmc.ui.front.action;

import java.util.ArrayList;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import jmc.core.model.Pdmpro01;
import jmc.core.model.Usuario;
import jmc.core.model.reports.DataSectoresSelected;
import jmc.core.model.reports.Inventario;
import jmc.core.model.reports.InventarioResumen;
import jmc.core.model.reports.Prefacturacion;
import jmc.core.model.reports.Seguimiento;
import jmc.core.model.reports.UnidIrregularidad;
import jmc.core.service.PdiManager;
import jmc.ui.front.form.ABMPdiForm;
import jmc.ui.front.form.ABMUsuarioForm;
import jmc.util.core.Reporte;
import jmc.util.core.TipoVista;
import jmc.util.core.Utiles;

import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.extremecomponents.table.context.Context;
import org.extremecomponents.table.context.HttpServletRequestContext;
import org.springframework.web.struts.DispatchActionSupport;

/**
 * @author Juan Manuel Carrascal.
 * 
 */
public class ABMPdiAction extends DispatchActionSupport {

	public ActionForward preparedListoTraslados(ActionMapping mapping,
			ActionForm form, HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		ABMPdiForm pdiForm = (ABMPdiForm) form;

		Usuario usuario = (Usuario) request.getSession()
				.getAttribute("usuario");

		PdiManager pdiManager = (PdiManager) getWebApplicationContext()
				.getBean("PdiManager");

		pdiForm.setOpunViunList(pdiManager.getStatusUnidad(pdiForm.getSerie(),
				(short) usuario.getNumCliente()));

		pdiForm.setSerie(pdiForm.getSerie());

		return mapping.findForward("success_preparedListoUnidades");

	}

	public ActionForward preparedListoPdi(ActionMapping mapping,
			ActionForm form, HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		ABMPdiForm pdiForm = (ABMPdiForm) form;

		Usuario usuario = (Usuario) request.getSession()
				.getAttribute("usuario");

		PdiManager pdiManager = (PdiManager) getWebApplicationContext()
				.getBean("PdiManager");

		pdiForm.setPdproc01List(pdiManager.getPdiUnidad(pdiForm.getSerie(),
				(short) usuario.getNumCliente()));

		pdiForm.setTfunid01(pdiManager.getUnidByPK(pdiForm.getSerie()));

		pdiForm.setSerie(pdiForm.getSerie());

		return mapping.findForward("success_preparedListoUnidadesPdi");

	}

	public ActionForward preparedListoIrregularidades(ActionMapping mapping,
			ActionForm form, HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		ABMPdiForm pdiForm = (ABMPdiForm) form;

		Usuario usuario = (Usuario) request.getSession()
				.getAttribute("usuario");

		PdiManager pdiManager = (PdiManager) getWebApplicationContext()
				.getBean("PdiManager");

		/*
		pdiForm.setPdirch06List(pdiManager.getPdiIrregularidades(pdiForm
				.getSerie(), (short) usuario.getNumCliente()));

		pdiForm.setTfunid01(pdiManager.getUnidByPK(pdiForm.getSerie()));

		*/
		
		pdiForm.setIrregularidadList(pdiManager.getPdiIrregularidadesBySerie(usuario,pdiForm.getSerie()));
		
		pdiForm.setSerie(pdiForm.getSerie());

		return mapping.findForward("success_preparedListoIrregularidades");

	}

	public ActionForward preparedListoInventario(ActionMapping mapping,
			ActionForm form, HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		ABMPdiForm pdiForm = (ABMPdiForm) form;

		Usuario usuario = (Usuario) request.getSession()
				.getAttribute("usuario");

		PdiManager pdiManager = (PdiManager) getWebApplicationContext()
				.getBean("PdiManager");
		//Pregunto si ya esta cargado el file
		while(!pdiManager.isEndProgram(usuario.getJobActual())){
			Thread.sleep(1000);
		}
		String tipoProceso = pdiForm.getProceso().getMpsect();
		if(tipoProceso.trim().equals("")){
			tipoProceso="TT";
		}
		
		List<Inventario> inventarioList = new ArrayList<Inventario>();
		if (tipoProceso.equals("TT")){
			
			if (pdiForm.getClasificacionInventario().equals("1")){
				inventarioList = pdiManager.getInventarioAllOmit(usuario);
			}else{
				if (pdiForm.getClasificacionInventario().equals("2")){
					inventarioList = pdiManager.getInventarioAllIncl(usuario);
				}else{
					inventarioList = pdiManager.getInventarioAll(usuario);
				}
			}

		}else{
			if (pdiForm.getClasificacionInventario().equals("1")){
				inventarioList = pdiManager.getInventarioByProcesoOmit(usuario, tipoProceso);
			}else{
				if (pdiForm.getClasificacionInventario().equals("2")){
					inventarioList = pdiManager.getInventarioByProcesoIncl(usuario, tipoProceso);
				}else{
					inventarioList = pdiManager.getInventarioByProceso(usuario, tipoProceso );
				}
			}

			
		}
		
		usuario.setClasificacionInventario(pdiForm.getClasificacionInventario());
		
		usuario.setSectorActual(tipoProceso);
		
		request.getSession().setAttribute("usuario", usuario);
		
		pdiForm.setInventarioList(inventarioList);
		
		pdiForm.setUsuario(usuario);
		
		return mapping.findForward("success_preparedListoInventario");

	}

	public ActionForward preparedListoInventarioInterno(ActionMapping mapping,
			ActionForm form, HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		ABMPdiForm pdiForm = (ABMPdiForm) form;

		Usuario usuario = (Usuario) request.getSession()
				.getAttribute("usuario");

		PdiManager pdiManager = (PdiManager) getWebApplicationContext()
				.getBean("PdiManager");

		String tipoProceso = usuario.getSectorActual();
		if(tipoProceso.trim().equals("")){
			tipoProceso="TT";
		}
		String clasificacion = usuario.getClasificacionInventario();
		
		List<Inventario> inventarioList = new ArrayList<Inventario>();
		if (tipoProceso.equals("TT")){
			
			if (clasificacion.equals("1")){
				inventarioList = pdiManager.getInventarioAllOmit(usuario);
			}else{
				if (clasificacion.equals("2")){
					inventarioList = pdiManager.getInventarioAllIncl(usuario);
				}else{
					inventarioList = pdiManager.getInventarioAll(usuario);
				}
			}

		}else{
			if (clasificacion.equals("1")){
				inventarioList = pdiManager.getInventarioByProcesoOmit(usuario, tipoProceso);
			}else{
				if (clasificacion.equals("2")){
					inventarioList = pdiManager.getInventarioByProcesoIncl(usuario, tipoProceso);
				}else{
					inventarioList = pdiManager.getInventarioByProceso(usuario, tipoProceso );
				}
			}

			
		}
		
		//usuario.setClasificacionInventario(pdiForm.getClasificacionInventario());
		
		//usuario.setSectorActual(tipoProceso);
		
		request.getSession().setAttribute("usuario", usuario);
		
		pdiForm.setInventarioList(inventarioList);
		
		pdiForm.setUsuario(usuario);
		
		return mapping.findForward("success_preparedListoInventario");

	}

	public ActionForward preparedViewInventarioPorProceso(ActionMapping mapping,
			ActionForm form, HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		ABMPdiForm pdiForm = (ABMPdiForm) form;

        
        
		Usuario usuario = (Usuario) request.getSession()
				.getAttribute("usuario");

		PdiManager pdiManager = (PdiManager) getWebApplicationContext()
				.getBean("PdiManager");
		//Pregunto si ya esta cargado el file
		
		String tipoProceso = pdiForm.getProceso().getMpsect();
		
		List<Inventario> inventarioList = new ArrayList<Inventario>();
		
		if (pdiForm.getSectorSolo().equals("on")){
			inventarioList = pdiManager.getInventarioByProcesoPaisSolo(usuario, tipoProceso, pdiForm.getPais());		
		}else{
			inventarioList = pdiManager.getInventarioByProcesoPais(usuario, tipoProceso, pdiForm.getPais());
		}
		
		pdiForm.setInventarioList(inventarioList);
		
		pdiForm.setUsuario(usuario);
		
		pdiForm.getProceso().setMpsect(tipoProceso);
			
		
		return mapping.findForward("success_preparedViewInventarioPorProceso");

	}

	public ActionForward preparedViewInventarioGroupPaisSinProcesar(ActionMapping mapping,
			ActionForm form, HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		ABMPdiForm pdiForm = (ABMPdiForm) form;
        
		Usuario usuario = (Usuario) request.getSession()
				.getAttribute("usuario");

		PdiManager pdiManager = (PdiManager) getWebApplicationContext()
				.getBean("PdiManager");
		//Pregunto si ya esta cargado el file
		
		String tipoProceso = pdiForm.getProceso().getMpsect();
		
		List<Inventario> inventarioList = new ArrayList<Inventario>();
		
		inventarioList = pdiManager.getInventarioGroupPaisSinProcesar(usuario, pdiForm.getPais());		

		pdiForm.setInventarioList(inventarioList);
		
		pdiForm.setUsuario(usuario);
		
		pdiForm.getProceso().setMpsect(tipoProceso);
					
		return mapping.findForward("success_preparedViewInventarioGroupPaisSinProcesar");

	}

	public ActionForward preparedViewInventarioGroupPaisOk(ActionMapping mapping,
			ActionForm form, HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		ABMPdiForm pdiForm = (ABMPdiForm) form;

        
        
		Usuario usuario = (Usuario) request.getSession()
				.getAttribute("usuario");

		PdiManager pdiManager = (PdiManager) getWebApplicationContext()
				.getBean("PdiManager");
		//Pregunto si ya esta cargado el file
		
		String tipoProceso = pdiForm.getProceso().getMpsect();
		
		List<Inventario> inventarioList = new ArrayList<Inventario>();
		
		inventarioList = pdiManager.getInventarioGroupPaisOk(usuario, pdiForm.getPais());		

		pdiForm.setInventarioList(inventarioList);
		
		pdiForm.setUsuario(usuario);
		
		pdiForm.getProceso().setMpsect(tipoProceso);
			
		
		return mapping.findForward("success_preparedViewInventarioGroupPaisOk");

	}

	public ActionForward preparedViewInventarioGroupPaisEnProceso(ActionMapping mapping,
			ActionForm form, HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		ABMPdiForm pdiForm = (ABMPdiForm) form;

        
        
		Usuario usuario = (Usuario) request.getSession()
				.getAttribute("usuario");

		PdiManager pdiManager = (PdiManager) getWebApplicationContext()
				.getBean("PdiManager");
		//Pregunto si ya esta cargado el file
		
		String tipoProceso = pdiForm.getProceso().getMpsect();
		
		List<Inventario> inventarioList = new ArrayList<Inventario>();
		
		inventarioList = pdiManager.getInventarioGroupPaisEnProceso(usuario, pdiForm.getPais());		

		pdiForm.setInventarioList(inventarioList);
		
		pdiForm.setUsuario(usuario);
		
		pdiForm.getProceso().setMpsect(tipoProceso);
			
		
		return mapping.findForward("success_preparedViewInventarioGroupPaisEnProceso");

	}	
	
	public ActionForward formListoUnidades(ActionMapping mapping,
			ActionForm form, HttpServletRequest request,
			HttpServletResponse response) throws Exception {

		ABMPdiForm pdiForm = (ABMPdiForm) form;

		TipoVista tipoVista = new TipoVista();
		List<TipoVista> tipoVistaList = tipoVista.getAll();

		pdiForm.setTipoVistaList(tipoVistaList);

		return mapping.findForward("success_formListoUnidades");

	}

	public ActionForward preparedSelectProceso(ActionMapping mapping,
			ActionForm form, HttpServletRequest request,
			HttpServletResponse response) throws Exception {

		ABMPdiForm pdiForm = (ABMPdiForm) form;

		
		Usuario usuario = (Usuario) request.getSession()
		.getAttribute("usuario");

		PdiManager pdiManager = (PdiManager) getWebApplicationContext()
		.getBean("PdiManager");
		
		
		List<Pdmpro01> pdmpro01List = new ArrayList<Pdmpro01>();
		if (usuario.getNumCliente() == 2){
			pdmpro01List = pdiManager.getProcesosPDIAllVW();
		}else{
			pdmpro01List = pdiManager.getProcesosPDIAll();
		}
			

		pdiForm.setProcesos(pdmpro01List);

		return mapping.findForward("success_preparedSelectProceso");

	}
	
	public ActionForward preparedSelectParamPd0018cl(ActionMapping mapping,
			ActionForm form, HttpServletRequest request,
			HttpServletResponse response) throws Exception {

		ABMPdiForm pdiForm = (ABMPdiForm) form;

		Usuario usuario = (Usuario) request.getSession()
		.getAttribute("usuario");
		
		PdiManager pdiManager = (PdiManager) getWebApplicationContext()
		.getBean("PdiManager");
		
		
		List<Pdmpro01> pdmpro01List = new ArrayList<Pdmpro01>();
		if (usuario.getNumCliente() == 2){
			pdmpro01List = pdiManager.getProcesosPDIVW();
		}else{
			pdmpro01List = pdiManager.getProcesosPDI();
		}
			

		pdiForm.setProcesos(pdmpro01List);
		
		pdiForm.setReporteList(Reporte.getReporteAll());

		return mapping.findForward("success_preparedSelectParamPd0018cl");

	}
	
	public ActionForward preparedSelectParamPeriodo(ActionMapping mapping,
			ActionForm form, HttpServletRequest request,
			HttpServletResponse response) throws Exception {

		ABMPdiForm pdiForm = (ABMPdiForm) form;
				
		pdiForm.setReporteList(Reporte.getReportePeriodo());

		return mapping.findForward("success_preparedSelectParamPeriodo");

	}

	public ActionForward preparedListoReportes(ActionMapping mapping,
			ActionForm form, HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		ABMPdiForm pdiForm = (ABMPdiForm) form;

                
		Usuario usuario = (Usuario) request.getSession()
				.getAttribute("usuario");

		
		PdiManager pdiManager = (PdiManager) getWebApplicationContext()
				.getBean("PdiManager");
		
		
		String secuencia = Utiles.getRandomNumber(); 
			
		int idReporte =  pdiForm.getReporte().getIdReporte().intValue(); 
		switch (idReporte) {
		case 1:			
			//Lanzo el PGM 
			pdiManager.callThreadPd0018(secuencia, pdiForm.getProceso().getMpsect(), pdiForm.getDateDesde(), pdiForm.getDateHasta(), usuario);
			//Pregunto si ya esta cargado el file
			while(!pdiManager.isEndProgram(secuencia)){
				Thread.sleep(1000);
			}
			//Leo el Archivo
			List<Prefacturacion> prefacturacionList = pdiManager.getPrefacturacion(secuencia);

			pdiForm.setPrefacturacionList(prefacturacionList);
			
			pdiForm.setSecuencia(secuencia);
			
			return mapping.findForward("success_preparedListoPrefacturacion");
			
		case 2:			
			//Lanzo el PGM 
			pdiManager.callThreadPd0022(secuencia, pdiForm.getProceso().getMpsect(), pdiForm.getDateDesde(), pdiForm.getDateHasta(), usuario);

			
			//Pregunto si ya esta cargado el file
			while(!pdiManager.isEndProgram(secuencia)){
				Thread.sleep(1000);
			}
			
			//Leo el Archivo
			List<UnidIrregularidad> unidIrregularidadList = pdiManager.getUnidIrregularidad(secuencia);
			
			pdiForm.setUnidIrregularidadList(unidIrregularidadList);
			
			pdiForm.setSecuencia(secuencia);
			
			return mapping.findForward("success_preparedListoUnidIrregularidad");
		}
		
		//Cambiar por error
		return mapping.findForward("success_preparedListoPrefacturacion");

	}

	public ActionForward preparedListoReportesPeriodo(ActionMapping mapping,
			ActionForm form, HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		ABMPdiForm pdiForm = (ABMPdiForm) form;

                
		Usuario usuario = (Usuario) request.getSession()
				.getAttribute("usuario");

		
		PdiManager pdiManager = (PdiManager) getWebApplicationContext()
				.getBean("PdiManager");
		
		
		String secuencia = Utiles.getRandomNumber(); 
			
		int idReporte =  pdiForm.getReporte().getIdReporte().intValue(); 
		
		switch (idReporte) {
		
		case 1:			
			//Lanzo el PGM 
			pdiManager.callThreadPd0041(secuencia, pdiForm.getDateDesde(), pdiForm.getDateHasta(), usuario);
			//Pregunto si ya esta cargado el file
			while(!pdiManager.isEndProgram(secuencia)){
				Thread.sleep(1000);
			}
			//Leo el Archivo
			List<Seguimiento> seguimientoList = pdiManager.getSeguimiento(secuencia);

			pdiForm.setSeguimientoList(seguimientoList);
			
			pdiForm.setSecuencia(secuencia);
			
			return mapping.findForward("success_preparedListoSeguimiento");
		}
		
		//Cambiar por error
		return mapping.findForward("success_preparedListoSeguimiento");

	}
	public ActionForward preparedListoPrefacturacionPage(ActionMapping mapping,
			ActionForm form, HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		ABMPdiForm pdiForm = (ABMPdiForm) form;

      		
		PdiManager pdiManager = (PdiManager) getWebApplicationContext()
				.getBean("PdiManager");
		
		//Si es paginado "o exportacion" usar la misma secuencia y no llamar al Proceso nuevamente.
		
		String secuencia = pdiForm.getSecuencia(); 

		//Leo el Archivo
		List<Prefacturacion> prefacturacionList = pdiManager.getPrefacturacion(secuencia);
		

		pdiForm.setPrefacturacionList(prefacturacionList);
		
		pdiForm.setSecuencia(secuencia);
		
		return mapping.findForward("success_preparedListoPrefacturacion");

	}

		
	public ActionForward preparedListoUnidIrregularidadPage(ActionMapping mapping,
			ActionForm form, HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		ABMPdiForm pdiForm = (ABMPdiForm) form;

      		
		PdiManager pdiManager = (PdiManager) getWebApplicationContext()
				.getBean("PdiManager");
		

		
		String secuencia = pdiForm.getSecuencia(); 

		
		//Leo el Archivo
		List<UnidIrregularidad> unidIrregularidadList = pdiManager.getUnidIrregularidad(secuencia);
		
		pdiForm.setUnidIrregularidadList(unidIrregularidadList);
		
		pdiForm.setSecuencia(secuencia);
		
		return mapping.findForward("success_preparedListoUnidIrregularidad");

	}

	public ActionForward preparedListoSeguimientoPage(ActionMapping mapping,
			ActionForm form, HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		ABMPdiForm pdiForm = (ABMPdiForm) form;

      		
		PdiManager pdiManager = (PdiManager) getWebApplicationContext()
				.getBean("PdiManager");
		

		
		String secuencia = pdiForm.getSecuencia(); 

	
		//Leo el Archivo
		List<Seguimiento> seguimientoList = pdiManager.getSeguimiento(secuencia);
		
		pdiForm.setSeguimientoList(seguimientoList);
		
		pdiForm.setSecuencia(secuencia);
		
		return mapping.findForward("success_preparedListoSeguimiento");

	}

	public ActionForward preparedListoIrregularidadesBySeries(ActionMapping mapping,
			ActionForm form, HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		ABMPdiForm pdiForm = (ABMPdiForm) form;

		Usuario usuario = (Usuario) request.getSession()
				.getAttribute("usuario");

		PdiManager pdiManager = (PdiManager) getWebApplicationContext()
				.getBean("PdiManager");

		pdiForm.setIrregularidadList(pdiManager.getPdiIrregularidadesBySeries(usuario,pdiForm.getProceso().getMpsect()));		
		
		
		return mapping.findForward("success_preparedListoIrregularidadesBySeries");

	}

	public ActionForward preparedListoEmisionInventarioResumen(ActionMapping mapping,
			ActionForm form, HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		ABMPdiForm pdiForm = (ABMPdiForm) form;

		Usuario usuario = (Usuario) request.getSession()
				.getAttribute("usuario");

		PdiManager pdiManager = (PdiManager) getWebApplicationContext()
				.getBean("PdiManager");

		List<Pdmpro01> pdmpro01List = new ArrayList<Pdmpro01>();
		if (usuario.getNumCliente() == 2){
			pdmpro01List = pdiManager.getProcesosPDIAllVWSTodos();
		}else{
			pdmpro01List = pdiManager.getProcesosPDI();
		}
		
		
		String proceso = pdiForm.getProceso().getMpsect();
		
		if (proceso.equals(""))
			proceso = pdmpro01List.get(0).getMpsect();
		
		
		if (pdiForm.getPaisesSelected() == null){
			pdiForm.setInventarioResumenList(pdiManager.getInventarioResumen(usuario));		
		}else{
			pdiForm.setInventarioResumenList(pdiManager.getInventarioResumen(usuario, pdiForm.getPaisesSelected()));
		}
		if(pdiForm.getSectorSolo().equals("on")){
			pdiForm.setInventarioResumenTempList(pdiManager.getInventarioResumenTempSolo(usuario, proceso));
		}else{
			pdiForm.setInventarioResumenTempList(pdiManager.getInventarioResumenTemp(usuario, proceso));
		}
		
		//pdiForm.setSectorSolo("off");
		
		pdiForm.setProcesos(pdmpro01List);
		
		pdiForm.setUsuario(usuario);
		
		return mapping.findForward("success_preparedListoEmisionInventarioResumen");

	}




	
	public ActionForward preparedListoSectoresSelected(ActionMapping mapping,
			ActionForm form, HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		ABMPdiForm pdiForm = (ABMPdiForm) form;

		Usuario usuario = (Usuario) request.getSession()
				.getAttribute("usuario");

		PdiManager pdiManager = (PdiManager) getWebApplicationContext()
				.getBean("PdiManager");

		DataSectoresSelected dataSectoresSelected = new DataSectoresSelected();
		dataSectoresSelected = pdiManager.getSectoresSelected(usuario, pdiForm.getVin());
		
		pdiForm.setSectoresSelectedList(dataSectoresSelected.getSectoresSelectedList());
		pdiForm.setIdModelo(dataSectoresSelected.getIdModelo());
		pdiForm.setDescripModelo(dataSectoresSelected.getDescripModelo());
		pdiForm.setObs(dataSectoresSelected.getObs());
		
		//pdiForm.setTfunid01(pdiManager.getUnidByVin(pdiForm.getVin()));

		return mapping.findForward("success_preparedListoSectoresSelected");

	}
	public ActionForward setSectoresSelected(ActionMapping mapping,
			ActionForm form, HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		ABMPdiForm pdiForm = (ABMPdiForm) form;

		Usuario usuario = (Usuario) request.getSession()
				.getAttribute("usuario");

		PdiManager pdiManager = (PdiManager) getWebApplicationContext()
				.getBean("PdiManager");

		String vin = pdiForm.getVin();
		String paliss = "";
		String[] sectoresSelected = pdiForm.getSectorSelectedArray();
		
		if(sectoresSelected != null){
			for(int i= 0;i < sectoresSelected.length; i++){
				paliss = paliss + sectoresSelected[i];
			}
		}
			String sector = usuario.getUsername();
			try{
				pdiManager.setSectoresSelected(vin,sector,paliss, usuario);
			}catch(Exception e){				
				e.printStackTrace();
				return mapping.findForward("error_setSectoresSelected");
			}
		
				
		return mapping.findForward("success_setSectoresSelected");

	}

	


	
}
